package view;

import geometricElement.GeometricElement;
import robot.Robot;

import java.util.LinkedList;

public interface View {

	public abstract int[] getGroundSize();
	
	/**
	 * Asks the user for wanted option and returns it
	 * @return Option given by user
	 */
	public abstract int getOption();
	
	public abstract double getRobotBasket();
	
	/**
	 * Asks the user for wanted type for the new object and returns it as a String
	 * @return Type of the new object
	 */
	public abstract String getObjectType();
	
	/**
	 * Asks the user for wanted position (x and y coordinates) for the new object.
	 * Returns an array of 2 ints- the first entry is x-axis coordinate and the second is y-axis coordinate 
	 * @return Int array of size 2, holding the position
	 */
	public abstract int[] getObjectPosition();
	
	public abstract double getObjectProperty();
	
	public abstract int askIfContinue(String type);
	
	/**
	 * Prints error given message to the user
	 * @param msg- Error message to be printed
	 */
	public abstract void notifyErrorMsg(String msg);

	// TODO 
	public abstract void printNonPickedGeoElements(LinkedList<GeometricElement> listToPrint);
	
	// TODO
	public abstract void printRobotsStats(LinkedList<Robot> listToPrint);
}
